[INFO] cloning repository https://github.com/paranoidnas/system
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/paranoidnas/system" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fparanoidnas%2Fsystem", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fparanoidnas%2Fsystem'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 85353b44666efefc60ebb51446b2614faf17b2a6
[INFO] fixing paranoidnas/system against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fparanoidnas%2Fsystem" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-5-tc2/source/.cargo/config
[INFO] started tweaking git repo https://github.com/paranoidnas/system
[INFO] finished tweaking git repo https://github.com/paranoidnas/system
[INFO] tweaked toml for git repo https://github.com/paranoidnas/system written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/paranoidnas/system on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/paranoidnas/system already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 3ad3e282482e02c0583c6acb0c0ffe1006f51dbb5df645fe99f236e8a2345a14
[INFO] running `Command { std: "docker" "start" "3ad3e282482e02c0583c6acb0c0ffe1006f51dbb5df645fe99f236e8a2345a14", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3ad3e282482e02c0583c6acb0c0ffe1006f51dbb5df645fe99f236e8a2345a14" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3ad3e282482e02c0583c6acb0c0ffe1006f51dbb5df645fe99f236e8a2345a14", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3ad3e282482e02c0583c6acb0c0ffe1006f51dbb5df645fe99f236e8a2345a14" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating blkcaptctl/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating blkcaptapp/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating libblkcapt/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating blkcaptwrk/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Compiling proc-macro2 v1.0.34
[INFO] [stderr]    Compiling libc v0.2.112
[INFO] [stderr]    Compiling syn v1.0.82
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]     Checking once_cell v1.9.0
[INFO] [stderr]    Compiling parking_lot_core v0.8.5
[INFO] [stderr]     Checking bytes v1.1.0
[INFO] [stderr]     Checking smallvec v1.7.0
[INFO] [stderr]     Checking pin-project-lite v0.2.7
[INFO] [stderr]     Checking instant v0.1.12
[INFO] [stderr]     Checking lock_api v0.4.5
[INFO] [stderr]    Compiling futures-core v0.3.19
[INFO] [stderr]    Compiling serde_derive v1.0.132
[INFO] [stderr]    Compiling serde v1.0.132
[INFO] [stderr]     Checking futures-sink v0.3.19
[INFO] [stderr]    Compiling futures-channel v0.3.19
[INFO] [stderr]    Compiling futures-task v0.3.19
[INFO] [stderr]    Compiling futures-util v0.3.19
[INFO] [stderr]     Checking slab v0.4.5
[INFO] [stderr]     Checking futures-io v0.3.19
[INFO] [stderr]    Compiling httparse v1.5.1
[INFO] [stderr]    Compiling indexmap v1.7.0
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling pkg-config v0.3.24
[INFO] [stderr]     Checking hashbrown v0.11.2
[INFO] [stderr]     Checking tracing-core v0.1.21
[INFO] [stderr]    Compiling miniz_oxide v0.4.4
[INFO] [stderr]     Checking httpdate v1.0.2
[INFO] [stderr]    Compiling slog v2.7.0
[INFO] [stderr]     Checking want v0.3.0
[INFO] [stderr]    Compiling backtrace v0.3.63
[INFO] [stderr]     Checking gimli v0.26.1
[INFO] [stderr]    Compiling openssl v0.10.38
[INFO] [stderr]     Checking aho-corasick v0.7.18
[INFO] [stderr]     Checking object v0.27.1
[INFO] [stderr]     Checking rustc-demangle v0.1.21
[INFO] [stderr]    Compiling native-tls v0.2.8
[INFO] [stderr]    Compiling generic-array v0.14.4
[INFO] [stderr]    Compiling serde_json v1.0.73
[INFO] [stderr]    Compiling anyhow v1.0.51
[INFO] [stderr]     Checking ryu v1.0.9
[INFO] [stderr]     Checking http v0.2.5
[INFO] [stderr]     Checking openssl-probe v0.1.4
[INFO] [stderr]    Compiling unicase v2.6.0
[INFO] [stderr]     Checking arc-swap v1.5.0
[INFO] [stderr]     Checking itoa v1.0.1
[INFO] [stderr]     Checking tracing v0.1.29
[INFO] [stderr]     Checking nom v4.1.1
[INFO] [stderr]    Compiling openssl-sys v0.9.72
[INFO] [stderr]     Checking matches v0.1.9
[INFO] [stderr]     Checking strum v0.20.0
[INFO] [stderr]     Checking tinyvec v1.5.1
[INFO] [stderr]     Checking thread_local v1.1.3
[INFO] [stderr]     Checking slog-scope v4.4.0
[INFO] [stderr]     Checking remove_dir_all v0.5.3
[INFO] [stderr]     Checking byteorder v1.4.3
[INFO] [stderr]     Checking form_urlencoded v1.0.1
[INFO] [stderr]     Checking block-buffer v0.9.0
[INFO] [stderr]    Compiling quote v1.0.10
[INFO] [stderr]     Checking digest v0.9.0
[INFO] [stderr]     Checking unicode-bidi v0.3.7
[INFO] [stderr]     Checking slog-atomic v3.1.0
[INFO] [stderr]     Checking sha-1 v0.9.8
[INFO] [stderr]    Compiling crossbeam-utils v0.8.5
[INFO] [stderr]     Checking num-integer v0.1.44
[INFO] [stderr]    Compiling mime_guess v2.0.3
[INFO] [stderr]     Checking byte-tools v0.3.1
[INFO] [stderr]     Checking digest v0.8.1
[INFO] [stderr]     Checking block-padding v0.1.5
[INFO] [stderr]    Compiling error-chain v0.12.4
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]     Checking subtle v1.0.0
[INFO] [stderr]     Checking utf-8 v0.7.6
[INFO] [stderr]    Compiling nix v0.17.0
[INFO] [stderr]    Compiling async-trait v0.1.52
[INFO] [stderr]     Checking buf_redux v0.8.4
[INFO] [stderr]     Checking regex v1.5.4
[INFO] [stderr]     Checking block-buffer v0.7.3
[INFO] [stderr]     Checking twoway v0.1.8
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]     Checking unicode-width v0.1.9
[INFO] [stderr]     Checking crypto-mac v0.7.0
[INFO] [stderr]     Checking opaque-debug v0.2.3
[INFO] [stderr]    Compiling slog-async v2.7.0
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking quick-error v1.2.3
[INFO] [stderr]     Checking fake-simd v0.1.2
[INFO] [stderr]     Checking hmac v0.7.1
[INFO] [stderr]     Checking sha2 v0.8.2
[INFO] [stderr]     Checking scoped-tls v1.0.0
[INFO] [stderr]     Checking unicode-segmentation v1.8.0
[INFO] [stderr]     Checking predicates-core v1.0.2
[INFO] [stderr]     Checking take_mut v0.2.2
[INFO] [stderr]     Checking float-cmp v0.8.0
[INFO] [stderr]     Checking unicode-normalization v0.1.19
[INFO] [stderr]     Checking normalize-line-endings v0.3.0
[INFO] [stderr]     Checking termtree v0.2.3
[INFO] [stderr]     Checking difference v2.0.0
[INFO] [stderr]    Compiling paste v1.0.6
[INFO] [stderr]     Checking textwrap v0.12.1
[INFO] [stderr]     Checking os_str_bytes v2.4.0
[INFO] [stderr]     Checking downcast v0.10.0
[INFO] [stderr]     Checking fragile v1.0.0
[INFO] [stderr]     Checking zeroize v1.4.3
[INFO] [stderr]     Checking heck v0.3.3
[INFO] [stderr]     Checking predicates-tree v1.0.4
[INFO] [stderr]     Checking crossbeam-channel v0.5.1
[INFO] [stderr]     Checking vec_map v0.8.2
[INFO] [stderr]    Compiling unindent v0.1.7
[INFO] [stderr]     Checking mio v0.7.14
[INFO] [stderr]     Checking signal-hook-registry v1.4.0
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]     Checking getrandom v0.2.3
[INFO] [stderr]     Checking socket2 v0.4.2
[INFO] [stderr]     Checking time v0.1.43
[INFO] [stderr]     Checking dirs-sys-next v0.1.2
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]     Checking parking_lot v0.11.2
[INFO] [stderr]     Checking mnt v0.3.1
[INFO] [stderr]     Checking nix v0.19.1
[INFO] [stderr]     Checking dirs-next v2.0.0
[INFO] [stderr]     Checking http-body v0.4.4
[INFO] [stderr]     Checking headers-core v0.2.0
[INFO] [stderr]     Checking term v0.7.0
[INFO] [stderr]     Checking headers v0.3.5
[INFO] [stderr]     Checking terminal_size v0.1.17
[INFO] [stderr]     Checking console v0.15.0
[INFO] [stderr]     Checking predicates v1.0.8
[INFO] [stderr]     Checking idna v0.2.3
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking os_type v2.4.0
[INFO] [stderr]     Checking signal-hook v0.1.17
[INFO] [stderr]    Compiling indoc v1.0.3
[INFO] [stderr]     Checking crossterm v0.19.0
[INFO] [stderr]     Checking rand v0.8.4
[INFO] [stderr]     Checking url v2.2.2
[INFO] [stderr]     Checking addr2line v0.17.0
[INFO] [stderr]     Checking tempfile v3.2.0
[INFO] [stderr]     Checking multipart v0.18.0
[INFO] [stderr]     Checking dialoguer v0.9.0
[INFO] [stderr]     Checking error-chain v0.10.0
[INFO] [stderr]    Compiling tokio-macros v1.7.0
[INFO] [stderr]    Compiling futures-macro v0.3.19
[INFO] [stderr]    Compiling thiserror-impl v1.0.30
[INFO] [stderr]    Compiling pin-project-internal v1.0.8
[INFO] [stderr]    Compiling strum_macros v0.20.1
[INFO] [stderr]    Compiling mockall_double v0.2.1
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]    Compiling xactor-derive v0.7.1 (https://github.com/wpbrown/xactor?branch=tokio10#3dbf2ca1)
[INFO] [stderr]    Compiling derive_more v0.99.17
[INFO] [stderr]    Compiling mockall_derive v0.9.1
[INFO] [stderr]    Compiling clap_derive v3.0.0-beta.2 (https://github.com/clap-rs/clap?rev=022f18278e67cccff53b73fd96ed45abcda028c3#022f1827)
[INFO] [stderr]    Compiling serial_test_derive v0.5.1
[INFO] [stderr]     Checking serial_test v0.5.1
[INFO] [stderr]     Checking tokio v1.15.0
[INFO] [stderr]     Checking comfy-table v1.6.0
[INFO] [stderr]     Checking thiserror v1.0.30
[INFO] [stderr]     Checking pin-project v1.0.8
[INFO] [stderr]     Checking clap v3.0.0-beta.2 (https://github.com/clap-rs/clap?rev=022f18278e67cccff53b73fd96ed45abcda028c3#022f1827)
[INFO] [stderr]     Checking tungstenite v0.14.0
[INFO] [stderr]     Checking mockall v0.9.1
[INFO] [stderr]     Checking futures-executor v0.3.19
[INFO] [stderr]     Checking futures v0.3.19
[INFO] [stderr]     Checking tokio-util v0.6.9
[INFO] [stderr]     Checking tokio-io-timeout v1.1.1
[INFO] [stderr]     Checking tokio-native-tls v0.3.0
[INFO] [stderr]     Checking tokio-tungstenite v0.15.0
[INFO] [stderr]     Checking tokio-stream v0.1.8
[INFO] [stderr]     Checking xactor v0.7.9 (https://github.com/wpbrown/xactor?branch=tokio10#3dbf2ca1)
[INFO] [stderr]     Checking h2 v0.3.9
[INFO] [stderr]     Checking uuid v0.8.2
[INFO] [stderr]     Checking chrono v0.4.19
[INFO] [stderr]     Checking humantime-serde v1.0.1
[INFO] [stderr]     Checking envy v0.4.2
[INFO] [stderr]     Checking serde_urlencoded v0.7.0
[INFO] [stderr]     Checking toml v0.5.8
[INFO] [stderr]     Checking libsystemd v0.2.1
[INFO] [stderr]     Checking cron v0.7.0
[INFO] [stderr]     Checking slog-term v2.8.0
[INFO] [stderr]     Checking human-panic v1.0.3
[INFO] [stderr]     Checking hyper v0.14.16
[INFO] [stderr]     Checking hyper-tls v0.5.0
[INFO] [stderr]     Checking hyperlocal v0.8.0
[INFO] [stderr]     Checking hyper-timeout v0.4.1
[INFO] [stderr]     Checking warp v0.3.2
[INFO] [stderr]     Checking libblkcapt v0.1.0 (/opt/rustwide/workdir/libblkcapt)
[INFO] [stderr]    Migrating libblkcapt/src/lib.rs from 2018 edition to 2021
[INFO] [stderr]        Fixed libblkcapt/src/core/restic.rs (1 fix)
[INFO] [stderr]     Checking blkcaptapp v0.1.0 (/opt/rustwide/workdir/blkcaptapp)
[INFO] [stderr]    Migrating blkcaptapp/src/lib.rs from 2018 edition to 2021
[INFO] [stderr]     Checking blkcaptwrk v0.1.0 (/opt/rustwide/workdir/blkcaptwrk)
[INFO] [stderr]     Checking blkcaptctl v0.1.0 (/opt/rustwide/workdir/blkcaptctl)
[INFO] [stderr]    Migrating blkcaptctl/src/main.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating blkcaptwrk/src/lib.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating blkcaptwrk/src/main.rs from 2018 edition to 2021
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 58.95s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: buf_redux v0.8.4, multipart v0.18.0, nom v4.1.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3`
[INFO] [stderr] crater-edition-check: blkcaptctl v0.1.0 (/opt/rustwide/workdir/blkcaptctl) updating edition from 2018 to 2021
[INFO] [stderr] crater-edition-check: blkcaptapp v0.1.0 (/opt/rustwide/workdir/blkcaptapp) updating edition from 2018 to 2021
[INFO] [stderr] crater-edition-check: libblkcapt v0.1.0 (/opt/rustwide/workdir/libblkcapt) updating edition from 2018 to 2021
[INFO] [stderr] crater-edition-check: blkcaptwrk v0.1.0 (/opt/rustwide/workdir/blkcaptwrk) updating edition from 2018 to 2021
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]     Checking libblkcapt v0.1.0 (/opt/rustwide/workdir/libblkcapt)
[INFO] [stdout] warning: field `parent` is never read
[INFO] [stdout]    --> libblkcapt/src/core/restic.rs:374:5
[INFO] [stdout]     |
[INFO] [stdout] 370 | struct SnapshotsOutputRecord {
[INFO] [stdout]     |        --------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 374 |     parent: Option<ResticId>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `into_drop_set` is never used
[INFO] [stdout]   --> libblkcapt/src/core/retention.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 68 | impl<'a, T: Snapshot> RetentionEvaluation<'a, T> {
[INFO] [stdout]    | ------------------------------------------------ method in this implementation
[INFO] [stdout] 69 |     fn into_drop_set(self) -> HashSet<DateTime<Utc>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> libblkcapt/src/model/mod.rs:119:21
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn datasets(&self) -> impl Iterator<Item = EntityPath2<BtrfsDatasetEntity, BtrfsPoolEntity>> {
[INFO] [stdout]     |                     ^^^^^                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn datasets(&self) -> impl Iterator<Item = EntityPath2<'_, BtrfsDatasetEntity, BtrfsPoolEntity>> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> libblkcapt/src/model/mod.rs:129:20
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn dataset(&self, id: EntityId) -> Option<EntityPath2<BtrfsDatasetEntity, BtrfsPoolEntity>> {
[INFO] [stdout]     |                    ^^^^^                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn dataset(&self, id: EntityId) -> Option<EntityPath2<'_, BtrfsDatasetEntity, BtrfsPoolEntity>> {
[INFO] [stdout]     |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> libblkcapt/src/model/mod.rs:133:23
[INFO] [stdout]     |
[INFO] [stdout] 133 |     pub fn containers(&self) -> impl Iterator<Item = EntityPath2<BtrfsContainerEntity, BtrfsPoolEntity>> {
[INFO] [stdout]     |                       ^^^^^                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 133 |     pub fn containers(&self) -> impl Iterator<Item = EntityPath2<'_, BtrfsContainerEntity, BtrfsPoolEntity>> {
[INFO] [stdout]     |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> libblkcapt/src/model/mod.rs:143:22
[INFO] [stdout]     |
[INFO] [stdout] 143 |     pub fn container(&self, id: EntityId) -> Option<EntityPath2<BtrfsContainerEntity, BtrfsPoolEntity>> {
[INFO] [stdout]     |                      ^^^^^                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 143 |     pub fn container(&self, id: EntityId) -> Option<EntityPath2<'_, BtrfsContainerEntity, BtrfsPoolEntity>> {
[INFO] [stdout]     |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> libblkcapt/src/model/mod.rs:147:26
[INFO] [stdout]     |
[INFO] [stdout] 147 |     pub fn any_container(&self, id: EntityId) -> Option<AnyContainer> {
[INFO] [stdout]     |                          ^^^^^                          ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 147 |     pub fn any_container(&self, id: EntityId) -> Option<AnyContainer<'_>> {
[INFO] [stdout]     |                                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking blkcaptapp v0.1.0 (/opt/rustwide/workdir/blkcaptapp)
[INFO] [stdout] warning: unexpected `cfg` condition name: `integer128`
[INFO] [stdout]    --> blkcaptapp/src/slogext.rs:193:15
[INFO] [stdout]     |
[INFO] [stdout] 193 |         #[cfg(integer128)]
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: expected names are: `docsrs`, `feature`, and `test` and 32 more
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(integer128)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(integer128)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `integer128`
[INFO] [stdout]    --> blkcaptapp/src/slogext.rs:197:15
[INFO] [stdout]     |
[INFO] [stdout] 197 |         #[cfg(integer128)]
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(integer128)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(integer128)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `integer128`
[INFO] [stdout]    --> blkcaptapp/src/slogext.rs:193:15
[INFO] [stdout]     |
[INFO] [stdout] 193 |         #[cfg(integer128)]
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: expected names are: `docsrs`, `feature`, and `test` and 32 more
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(integer128)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(integer128)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `integer128`
[INFO] [stdout]    --> blkcaptapp/src/slogext.rs:197:15
[INFO] [stdout]     |
[INFO] [stdout] 197 |         #[cfg(integer128)]
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(integer128)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(integer128)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking blkcaptwrk v0.1.0 (/opt/rustwide/workdir/blkcaptwrk)
[INFO] [stderr]     Checking blkcaptctl v0.1.0 (/opt/rustwide/workdir/blkcaptctl)
[INFO] [stdout] warning: field `parent` is never read
[INFO] [stdout]    --> libblkcapt/src/core/restic.rs:374:5
[INFO] [stdout]     |
[INFO] [stdout] 370 | struct SnapshotsOutputRecord {
[INFO] [stdout]     |        --------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 374 |     parent: Option<ResticId>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `into_drop_set` is never used
[INFO] [stdout]   --> libblkcapt/src/core/retention.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 68 | impl<'a, T: Snapshot> RetentionEvaluation<'a, T> {
[INFO] [stdout]    | ------------------------------------------------ method in this implementation
[INFO] [stdout] 69 |     fn into_drop_set(self) -> HashSet<DateTime<Utc>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> libblkcapt/src/model/mod.rs:119:21
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn datasets(&self) -> impl Iterator<Item = EntityPath2<BtrfsDatasetEntity, BtrfsPoolEntity>> {
[INFO] [stdout]     |                     ^^^^^                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn datasets(&self) -> impl Iterator<Item = EntityPath2<'_, BtrfsDatasetEntity, BtrfsPoolEntity>> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> libblkcapt/src/model/mod.rs:129:20
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn dataset(&self, id: EntityId) -> Option<EntityPath2<BtrfsDatasetEntity, BtrfsPoolEntity>> {
[INFO] [stdout]     |                    ^^^^^                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn dataset(&self, id: EntityId) -> Option<EntityPath2<'_, BtrfsDatasetEntity, BtrfsPoolEntity>> {
[INFO] [stdout]     |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> libblkcapt/src/model/mod.rs:133:23
[INFO] [stdout]     |
[INFO] [stdout] 133 |     pub fn containers(&self) -> impl Iterator<Item = EntityPath2<BtrfsContainerEntity, BtrfsPoolEntity>> {
[INFO] [stdout]     |                       ^^^^^                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 133 |     pub fn containers(&self) -> impl Iterator<Item = EntityPath2<'_, BtrfsContainerEntity, BtrfsPoolEntity>> {
[INFO] [stdout]     |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> libblkcapt/src/model/mod.rs:143:22
[INFO] [stdout]     |
[INFO] [stdout] 143 |     pub fn container(&self, id: EntityId) -> Option<EntityPath2<BtrfsContainerEntity, BtrfsPoolEntity>> {
[INFO] [stdout]     |                      ^^^^^                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 143 |     pub fn container(&self, id: EntityId) -> Option<EntityPath2<'_, BtrfsContainerEntity, BtrfsPoolEntity>> {
[INFO] [stdout]     |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> libblkcapt/src/model/mod.rs:147:26
[INFO] [stdout]     |
[INFO] [stdout] 147 |     pub fn any_container(&self, id: EntityId) -> Option<AnyContainer> {
[INFO] [stdout]     |                          ^^^^^                          ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 147 |     pub fn any_container(&self, id: EntityId) -> Option<AnyContainer<'_>> {
[INFO] [stdout]     |                                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sync`, `retention_update`, and `shared` are never read
[INFO] [stdout]   --> blkcaptctl/src/commands/restic.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub struct ResticUpdateOptions {
[INFO] [stdout]    |            ------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 77 |     sync: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     retention_update: RetentionUpdateOptions,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     shared: ResticCreateUpdateOptions,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ResticUpdateOptions` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sync` and `shared` are never read
[INFO] [stdout]   --> blkcaptctl/src/commands/sync.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub struct SyncUpdateOptions {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 92 |     sync: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 95 |     shared: SyncCreateUpdateOptions,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SyncUpdateOptions` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sync` is never read
[INFO] [stdout]    --> blkcaptctl/src/commands/sync.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub struct SyncShowOptions {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 119 |     sync: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SyncShowOptions` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sync` is never read
[INFO] [stdout]    --> blkcaptctl/src/commands/sync.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub struct SyncDeleteOptions {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 133 |     sync: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SyncDeleteOptions` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sync`, `retention_update`, and `shared` are never read
[INFO] [stdout]   --> blkcaptctl/src/commands/restic.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub struct ResticUpdateOptions {
[INFO] [stdout]    |            ------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 77 |     sync: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     retention_update: RetentionUpdateOptions,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     shared: ResticCreateUpdateOptions,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ResticUpdateOptions` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sync` and `shared` are never read
[INFO] [stdout]   --> blkcaptctl/src/commands/sync.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub struct SyncUpdateOptions {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 92 |     sync: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 95 |     shared: SyncCreateUpdateOptions,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SyncUpdateOptions` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sync` is never read
[INFO] [stdout]    --> blkcaptctl/src/commands/sync.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub struct SyncShowOptions {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 119 |     sync: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SyncShowOptions` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sync` is never read
[INFO] [stdout]    --> blkcaptctl/src/commands/sync.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub struct SyncDeleteOptions {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 133 |     sync: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SyncDeleteOptions` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `pool` is never read
[INFO] [stdout]   --> blkcaptwrk/src/actors/container.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct ContainerActor {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 34 |     pool: Addr<BcActor<PoolActor>>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `pool` is never read
[INFO] [stdout]   --> blkcaptwrk/src/actors/dataset.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct DatasetActor {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 32 |     pool: Addr<BcActor<PoolActor>>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> blkcaptwrk/src/actors/pool.rs:185:19
[INFO] [stdout]     |
[INFO] [stdout] 185 |         Scrubbing(WorkerTask, StartedObservation),
[INFO] [stdout]     |         --------- ^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         field in this variant
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 185 -         Scrubbing(WorkerTask, StartedObservation),
[INFO] [stdout] 185 +         Scrubbing((), StartedObservation),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Latest` is never constructed
[INFO] [stdout]   --> blkcaptwrk/src/snapshots.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub enum FindMode {
[INFO] [stdout]    |          -------- variant in this enum
[INFO] [stdout] 49 |     Earliest,
[INFO] [stdout] 50 |     Latest,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `canceller` is never read
[INFO] [stdout]   --> blkcaptwrk/src/tasks.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct WorkerTask {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 10 |     handle: JoinHandle<()>,
[INFO] [stdout] 11 |     canceller: Cell<Option<oneshot::Sender<()>>>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `cancellation` is never read
[INFO] [stdout]   --> blkcaptwrk/src/tasks.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct WorkerTaskContext<A> {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 15 |     parent: WeakAddr<A>,
[INFO] [stdout] 16 |     cancellation: oneshot::Receiver<()>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `cancel` is never used
[INFO] [stdout]   --> blkcaptwrk/src/tasks.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl WorkerTask {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 82 |     pub fn cancel(&self) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Cancelled` is never constructed
[INFO] [stdout]   --> blkcaptwrk/src/tasks.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub enum CancellableResult<T> {
[INFO] [stdout]    |          ----------------- variant in this enum
[INFO] [stdout] 94 |     Ok(T),
[INFO] [stdout] 95 |     Cancelled(CancelledMarker),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `await_cancellable` is never used
[INFO] [stdout]    --> blkcaptwrk/src/tasks.rs:107:18
[INFO] [stdout]     |
[INFO] [stdout] 106 | impl<A> WorkerTaskContext<A> {
[INFO] [stdout]     | ---------------------------- method in this implementation
[INFO] [stdout] 107 |     pub async fn await_cancellable<T>(&mut self, fut: impl Future<Output = T> + Send) -> CancellableResult<T> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `pool` is never read
[INFO] [stdout]   --> blkcaptwrk/src/actors/container.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct ContainerActor {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 34 |     pool: Addr<BcActor<PoolActor>>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `pool` is never read
[INFO] [stdout]   --> blkcaptwrk/src/actors/dataset.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct DatasetActor {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 32 |     pool: Addr<BcActor<PoolActor>>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> blkcaptwrk/src/actors/pool.rs:185:19
[INFO] [stdout]     |
[INFO] [stdout] 185 |         Scrubbing(WorkerTask, StartedObservation),
[INFO] [stdout]     |         --------- ^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         field in this variant
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 185 -         Scrubbing(WorkerTask, StartedObservation),
[INFO] [stdout] 185 +         Scrubbing((), StartedObservation),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Latest` is never constructed
[INFO] [stdout]   --> blkcaptwrk/src/snapshots.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub enum FindMode {
[INFO] [stdout]    |          -------- variant in this enum
[INFO] [stdout] 49 |     Earliest,
[INFO] [stdout] 50 |     Latest,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `canceller` is never read
[INFO] [stdout]   --> blkcaptwrk/src/tasks.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct WorkerTask {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 10 |     handle: JoinHandle<()>,
[INFO] [stdout] 11 |     canceller: Cell<Option<oneshot::Sender<()>>>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `cancellation` is never read
[INFO] [stdout]   --> blkcaptwrk/src/tasks.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct WorkerTaskContext<A> {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 15 |     parent: WeakAddr<A>,
[INFO] [stdout] 16 |     cancellation: oneshot::Receiver<()>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `cancel` is never used
[INFO] [stdout]   --> blkcaptwrk/src/tasks.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl WorkerTask {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 82 |     pub fn cancel(&self) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Cancelled` is never constructed
[INFO] [stdout]   --> blkcaptwrk/src/tasks.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub enum CancellableResult<T> {
[INFO] [stdout]    |          ----------------- variant in this enum
[INFO] [stdout] 94 |     Ok(T),
[INFO] [stdout] 95 |     Cancelled(CancelledMarker),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `await_cancellable` is never used
[INFO] [stdout]    --> blkcaptwrk/src/tasks.rs:107:18
[INFO] [stdout]     |
[INFO] [stdout] 106 | impl<A> WorkerTaskContext<A> {
[INFO] [stdout]     | ---------------------------- method in this implementation
[INFO] [stdout] 107 |     pub async fn await_cancellable<T>(&mut self, fut: impl Future<Output = T> + Send) -> CancellableResult<T> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 05s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: buf_redux v0.8.4, multipart v0.18.0, nom v4.1.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating blkcaptctl/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating blkcaptapp/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating libblkcapt/Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Migrating blkcaptwrk/Cargo.toml from 2018 edition to 2021
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stdout] warning: field `parent` is never read
[INFO] [stdout]    --> libblkcapt/src/core/restic.rs:374:5
[INFO] [stdout]     |
[INFO] [stdout] 370 | struct SnapshotsOutputRecord {
[INFO] [stdout]     |        --------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 374 |     parent: Option<ResticId>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `into_drop_set` is never used
[INFO] [stdout]   --> libblkcapt/src/core/retention.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 68 | impl<'a, T: Snapshot> RetentionEvaluation<'a, T> {
[INFO] [stdout]    | ------------------------------------------------ method in this implementation
[INFO] [stdout] 69 |     fn into_drop_set(self) -> HashSet<DateTime<Utc>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> libblkcapt/src/model/mod.rs:119:21
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn datasets(&self) -> impl Iterator<Item = EntityPath2<BtrfsDatasetEntity, BtrfsPoolEntity>> {
[INFO] [stdout]     |                     ^^^^^                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn datasets(&self) -> impl Iterator<Item = EntityPath2<'_, BtrfsDatasetEntity, BtrfsPoolEntity>> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> libblkcapt/src/model/mod.rs:129:20
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn dataset(&self, id: EntityId) -> Option<EntityPath2<BtrfsDatasetEntity, BtrfsPoolEntity>> {
[INFO] [stdout]     |                    ^^^^^                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn dataset(&self, id: EntityId) -> Option<EntityPath2<'_, BtrfsDatasetEntity, BtrfsPoolEntity>> {
[INFO] [stdout]     |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> libblkcapt/src/model/mod.rs:133:23
[INFO] [stdout]     |
[INFO] [stdout] 133 |     pub fn containers(&self) -> impl Iterator<Item = EntityPath2<BtrfsContainerEntity, BtrfsPoolEntity>> {
[INFO] [stdout]     |                       ^^^^^                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 133 |     pub fn containers(&self) -> impl Iterator<Item = EntityPath2<'_, BtrfsContainerEntity, BtrfsPoolEntity>> {
[INFO] [stdout]     |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> libblkcapt/src/model/mod.rs:143:22
[INFO] [stdout]     |
[INFO] [stdout] 143 |     pub fn container(&self, id: EntityId) -> Option<EntityPath2<BtrfsContainerEntity, BtrfsPoolEntity>> {
[INFO] [stdout]     |                      ^^^^^                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 143 |     pub fn container(&self, id: EntityId) -> Option<EntityPath2<'_, BtrfsContainerEntity, BtrfsPoolEntity>> {
[INFO] [stdout]     |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> libblkcapt/src/model/mod.rs:147:26
[INFO] [stdout]     |
[INFO] [stdout] 147 |     pub fn any_container(&self, id: EntityId) -> Option<AnyContainer> {
[INFO] [stdout]     |                          ^^^^^                          ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 147 |     pub fn any_container(&self, id: EntityId) -> Option<AnyContainer<'_>> {
[INFO] [stdout]     |                                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking blkcaptapp v0.1.0 (/opt/rustwide/workdir/blkcaptapp)
[INFO] [stderr]    Migrating blkcaptapp/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking libblkcapt v0.1.0 (/opt/rustwide/workdir/libblkcapt)
[INFO] [stderr]    Migrating libblkcapt/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking blkcaptwrk v0.1.0 (/opt/rustwide/workdir/blkcaptwrk)
[INFO] [stderr]     Checking blkcaptctl v0.1.0 (/opt/rustwide/workdir/blkcaptctl)
[INFO] [stdout] warning: `impl AsyncRead` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> libblkcapt/src/sys/btrfs.rs:408:37
[INFO] [stdout]     |
[INFO] [stdout] 408 |         pub fn reader(&mut self) -> impl AsyncRead {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> libblkcapt/src/sys/btrfs.rs:408:23
[INFO] [stdout]     |
[INFO] [stdout] 408 |         pub fn reader(&mut self) -> impl AsyncRead {
[INFO] [stdout]     |                       ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 408 |         pub fn reader(&mut self) -> impl AsyncRead + use<> {
[INFO] [stdout]     |                                                    +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: errors present after applying fixes to crate `libblkcapt`
[INFO] [stdout] warning: `impl AsyncWrite` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> libblkcapt/src/sys/btrfs.rs:482:37
[INFO] [stdout]     |
[INFO] [stdout] 482 |         pub fn writer(&mut self) -> impl AsyncWrite {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> libblkcapt/src/sys/btrfs.rs:482:23
[INFO] [stdout]     |
[INFO] [stdout] 482 |         pub fn writer(&mut self) -> impl AsyncWrite {
[INFO] [stdout]     |                       ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 482 |         pub fn writer(&mut self) -> impl AsyncWrite + use<> {
[INFO] [stdout]     |                                                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]  --> libblkcapt/src/sys/btrfs.rs
[INFO] [stdout] warning: `impl Iterator<Item = mnt::MountEntry>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> libblkcapt/src/sys/fs.rs:125:73
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub fn lookup_mountentries_by_devices(devices: &[DevicePathBuf]) -> impl Iterator<Item = MountEntry> {
[INFO] [stdout]     |                                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> libblkcapt/src/sys/fs.rs:125:52
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub fn lookup_mountentries_by_devices(devices: &[DevicePathBuf]) -> impl Iterator<Item = MountEntry> {
[INFO] [stdout]     |                                                    ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub fn lookup_mountentries_by_devices(devices: &[DevicePathBuf]) -> impl Iterator<Item = MountEntry> + use<> {
[INFO] [stdout]     |                                                                                                          +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]  ::: libblkcapt/src/sys/fs.rs
[INFO] [stderr]   = cause: error: expected identifier
[INFO] [stderr]               --> libblkcapt/src/sys/fs.rs:125:108
[INFO] [stderr]                |
[INFO] [stderr]            125 |     pub fn lookup_mountentries_by_devices(devices: &[DevicePathBuf]) -> impl Iterator<Item = MountEntry> + use<> {
[INFO] [stderr]                |                                                                                                            ^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0432]: unresolved import `double`
[INFO] [stderr]               --> libblkcapt/src/sys/fs.rs:109:9
[INFO] [stderr]                |
[INFO] [stderr]            109 | pub use double::*;
[INFO] [stderr]                |         ^^^^^^ use of unresolved module or unlinked crate `double`
[INFO] [stderr]                |
[INFO] [stderr]                = help: if you wanted to use a crate named `double`, use `cargo add double` to add it to your `Cargo.toml`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0432]: unresolved import `fs_double`
[INFO] [stderr]             --> libblkcapt/src/sys/btrfs.rs:6:5
[INFO] [stderr]              |
[INFO] [stderr]            6 | use fs_double::lookup_mountentries_by_devices;
[INFO] [stderr]              |     ^^^^^^^^^ use of unresolved module or unlinked crate `fs_double`
[INFO] [stderr]              |
[INFO] [stderr]              = help: if you wanted to use a crate named `fs_double`, use `cargo add fs_double` to add it to your `Cargo.toml`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: aborting due to 3 previous errors
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            For more information about this error, try `rustc --explain E0432`.
[INFO] [stderr] help: to report this as a bug, open an issue at https://github.com/rust-lang/rust/issues, quoting the full output of this command
[INFO] [stderr] help: to possibly apply more fixes, pass in the `--broken-code` flag
[INFO] [stderr] note: original diagnostics will follow:
[INFO] [stderr]    Migrating blkcaptwrk/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed blkcaptwrk/src/actors/localreceiver.rs (1 fix)
[INFO] [stderr]        Fixed blkcaptwrk/src/actors/localsender.rs (1 fix)
[INFO] [stderr]        Fixed blkcaptwrk/src/actors/pool.rs (2 fixes)
[INFO] [stderr]        Fixed blkcaptwrk/src/actors/sync.rs (2 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> blkcaptwrk/src/actors/restic.rs:153:50
[INFO] [stdout]     |
[INFO] [stdout] 153 |                     if let Ok(active_transfer) = self.start_backup(waiter).await {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                                  |                         |
[INFO] [stdout]     |                                                  |                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                                  |                         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                                  |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                  |                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                  this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                  up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                                  `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                                  `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 158 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.51/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.19/src/future/future/shared.rs:333:1
[INFO] [stdout]     |
[INFO] [stdout] 333 | / impl<Fut> Drop for Shared<Fut>
[INFO] [stdout] 334 | | where
[INFO] [stdout] 335 | |     Fut: Future,
[INFO] [stdout]     | |________________^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.19/src/mpsc/mod.rs:928:1
[INFO] [stdout]     |
[INFO] [stdout] 928 | impl<T> Drop for UnboundedSenderInner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.51/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.19/src/future/future/shared.rs:333:1
[INFO] [stdout]     |
[INFO] [stdout] 333 | / impl<Fut> Drop for Shared<Fut>
[INFO] [stdout] 334 | | where
[INFO] [stdout] 335 | |     Fut: Future,
[INFO] [stdout]     | |________________^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.19/src/mpsc/mod.rs:928:1
[INFO] [stdout]     |
[INFO] [stdout] 928 | impl<T> Drop for UnboundedSenderInner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> blkcaptwrk/src/actors/restic.rs:152:42
[INFO] [stdout]     |
[INFO] [stdout] 152 |                 while let Some(waiter) = waiting.pop_front() {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                          up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 153 |                     if let Ok(active_transfer) = self.start_backup(waiter).await {
[INFO] [stdout]     |                                                  -------------------------------
[INFO] [stdout]     |                                                  |                         |
[INFO] [stdout]     |                                                  |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                  |                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                  `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                                  `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 158 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.19/src/future/future/shared.rs:333:1
[INFO] [stdout]     |
[INFO] [stdout] 333 | / impl<Fut> Drop for Shared<Fut>
[INFO] [stdout] 334 | | where
[INFO] [stdout] 335 | |     Fut: Future,
[INFO] [stdout]     | |________________^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.51/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.19/src/future/future/shared.rs:333:1
[INFO] [stdout]     |
[INFO] [stdout] 333 | / impl<Fut> Drop for Shared<Fut>
[INFO] [stdout] 334 | | where
[INFO] [stdout] 335 | |     Fut: Future,
[INFO] [stdout]     | |________________^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.19/src/mpsc/mod.rs:928:1
[INFO] [stdout]     |
[INFO] [stdout] 928 | impl<T> Drop for UnboundedSenderInner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> blkcaptwrk/src/actors/pool.rs:265:32
[INFO] [stdout]     |
[INFO] [stdout] 264 |             let result = msg.0;
[INFO] [stdout]     |                 ------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `result` calls a custom destructor
[INFO] [stdout]     |                 `result` will be dropped later as of Edition 2024
[INFO] [stdout] 265 |             self.state = match self.state.take() {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 272 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.51/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.15.0/src/sync/oneshot.rs:827:1
[INFO] [stdout]     |
[INFO] [stdout] 827 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.15.0/src/runtime/task/join.rs:242:1
[INFO] [stdout]     |
[INFO] [stdout] 242 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> blkcaptwrk/src/actors/observation.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for StartedObservation {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout] note: `result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.51/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating blkcaptctl/src/main.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> blkcaptwrk/src/actors/restic.rs:293:45
[INFO] [stdout]     |
[INFO] [stdout] 292 |                     for waiter in waiting {
[INFO] [stdout]     |                         ------    -------
[INFO] [stdout]     |                         |         |
[INFO] [stdout]     |                         |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         |         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         `waiter` calls a custom destructor
[INFO] [stdout]     |                         `waiter` will be dropped later as of Edition 2024
[INFO] [stdout] 293 |                         if let Some(addr) = waiter.target.upgrade() {
[INFO] [stdout]     |                                     ----    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                     |       |
[INFO] [stdout]     |                                     |       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     |       up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                     `addr` calls a custom destructor
[INFO] [stdout]     |                                     `addr` will be dropped later as of Edition 2024
[INFO] [stdout] 294 |                             let _ = addr.send(BackupReadyMessage(Err(anyhow!("container stopped"))));
[INFO] [stdout]     |                                     ----------------------------------------------------------------
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 295 |                         }
[INFO] [stdout] 296 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.19/src/future/future/shared.rs:333:1
[INFO] [stdout]     |
[INFO] [stdout] 333 | / impl<Fut> Drop for Shared<Fut>
[INFO] [stdout] 334 | | where
[INFO] [stdout] 335 | |     Fut: Future,
[INFO] [stdout]     | |________________^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.19/src/mpsc/mod.rs:928:1
[INFO] [stdout]     |
[INFO] [stdout] 928 | impl<T> Drop for UnboundedSenderInner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.19/src/future/future/shared.rs:333:1
[INFO] [stdout]     |
[INFO] [stdout] 333 | / impl<Fut> Drop for Shared<Fut>
[INFO] [stdout] 334 | | where
[INFO] [stdout] 335 | |     Fut: Future,
[INFO] [stdout]     | |________________^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `waiter` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.19/src/future/future/shared.rs:333:1
[INFO] [stdout]     |
[INFO] [stdout] 333 | / impl<Fut> Drop for Shared<Fut>
[INFO] [stdout] 334 | | where
[INFO] [stdout] 335 | |     Fut: Future,
[INFO] [stdout]     | |________________^
[INFO] [stdout] note: `waiter` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `addr` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.19/src/future/future/shared.rs:333:1
[INFO] [stdout]     |
[INFO] [stdout] 333 | / impl<Fut> Drop for Shared<Fut>
[INFO] [stdout] 334 | | where
[INFO] [stdout] 335 | |     Fut: Future,
[INFO] [stdout]     | |________________^
[INFO] [stdout] note: `addr` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.19/src/mpsc/mod.rs:928:1
[INFO] [stdout]     |
[INFO] [stdout] 928 | impl<T> Drop for UnboundedSenderInner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.51/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> blkcaptwrk/src/xactorext.rs:181:43
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let log = self.log.new(o!("message" => snek_type_name::<M>()));
[INFO] [stdout]     |             ---
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `log` calls a custom destructor
[INFO] [stdout]     |             `log` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 181 |         halt_and_catch_fire_on_panic(fut).await.unwrap_or_else(|error| {
[INFO] [stdout]     |                                           ^^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 185 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `log` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> blkcaptwrk/src/actors/restic.rs:153:50
[INFO] [stdout]     |
[INFO] [stdout] 153 |                     if let Ok(active_transfer) = self.start_backup(waiter).await {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                                  |                         |
[INFO] [stdout]     |                                                  |                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                                  |                         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                                  |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                  |                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                  this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                  up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                                  `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                                  `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 158 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.51/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.19/src/future/future/shared.rs:333:1
[INFO] [stdout]     |
[INFO] [stdout] 333 | / impl<Fut> Drop for Shared<Fut>
[INFO] [stdout] 334 | | where
[INFO] [stdout] 335 | |     Fut: Future,
[INFO] [stdout]     | |________________^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.19/src/mpsc/mod.rs:928:1
[INFO] [stdout]     |
[INFO] [stdout] 928 | impl<T> Drop for UnboundedSenderInner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.51/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.19/src/future/future/shared.rs:333:1
[INFO] [stdout]     |
[INFO] [stdout] 333 | / impl<Fut> Drop for Shared<Fut>
[INFO] [stdout] 334 | | where
[INFO] [stdout] 335 | |     Fut: Future,
[INFO] [stdout]     | |________________^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.19/src/mpsc/mod.rs:928:1
[INFO] [stdout]     |
[INFO] [stdout] 928 | impl<T> Drop for UnboundedSenderInner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> blkcaptwrk/src/actors/restic.rs:152:42
[INFO] [stdout]     |
[INFO] [stdout] 152 |                 while let Some(waiter) = waiting.pop_front() {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                          up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 153 |                     if let Ok(active_transfer) = self.start_backup(waiter).await {
[INFO] [stdout]     |                                                  -------------------------------
[INFO] [stdout]     |                                                  |                         |
[INFO] [stdout]     |                                                  |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                  |                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                  `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                                  `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 158 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.19/src/future/future/shared.rs:333:1
[INFO] [stdout]     |
[INFO] [stdout] 333 | / impl<Fut> Drop for Shared<Fut>
[INFO] [stdout] 334 | | where
[INFO] [stdout] 335 | |     Fut: Future,
[INFO] [stdout]     | |________________^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.51/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.19/src/future/future/shared.rs:333:1
[INFO] [stdout]     |
[INFO] [stdout] 333 | / impl<Fut> Drop for Shared<Fut>
[INFO] [stdout] 334 | | where
[INFO] [stdout] 335 | |     Fut: Future,
[INFO] [stdout]     | |________________^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.19/src/mpsc/mod.rs:928:1
[INFO] [stdout]     |
[INFO] [stdout] 928 | impl<T> Drop for UnboundedSenderInner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> blkcaptwrk/src/actors/pool.rs:265:32
[INFO] [stdout]     |
[INFO] [stdout] 264 |             let result = msg.0;
[INFO] [stdout]     |                 ------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `result` calls a custom destructor
[INFO] [stdout]     |                 `result` will be dropped later as of Edition 2024
[INFO] [stdout] 265 |             self.state = match self.state.take() {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 272 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.51/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.15.0/src/sync/oneshot.rs:827:1
[INFO] [stdout]     |
[INFO] [stdout] 827 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.15.0/src/runtime/task/join.rs:242:1
[INFO] [stdout]     |
[INFO] [stdout] 242 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> blkcaptwrk/src/actors/observation.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl Drop for StartedObservation {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout] note: `result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.51/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> blkcaptwrk/src/actors/restic.rs:293:45
[INFO] [stdout]     |
[INFO] [stdout] 292 |                     for waiter in waiting {
[INFO] [stdout]     |                         ------    -------
[INFO] [stdout]     |                         |         |
[INFO] [stdout]     |                         |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         |         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         `waiter` calls a custom destructor
[INFO] [stdout]     |                         `waiter` will be dropped later as of Edition 2024
[INFO] [stdout] 293 |                         if let Some(addr) = waiter.target.upgrade() {
[INFO] [stdout]     |                                     ----    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                     |       |
[INFO] [stdout]     |                                     |       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     |       up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                     `addr` calls a custom destructor
[INFO] [stdout]     |                                     `addr` will be dropped later as of Edition 2024
[INFO] [stdout] 294 |                             let _ = addr.send(BackupReadyMessage(Err(anyhow!("container stopped"))));
[INFO] [stdout]     |                                     ----------------------------------------------------------------
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 295 |                         }
[INFO] [stdout] 296 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.19/src/future/future/shared.rs:333:1
[INFO] [stdout]     |
[INFO] [stdout] 333 | / impl<Fut> Drop for Shared<Fut>
[INFO] [stdout] 334 | | where
[INFO] [stdout] 335 | |     Fut: Future,
[INFO] [stdout]     | |________________^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.19/src/mpsc/mod.rs:928:1
[INFO] [stdout]     |
[INFO] [stdout] 928 | impl<T> Drop for UnboundedSenderInner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.19/src/future/future/shared.rs:333:1
[INFO] [stdout]     |
[INFO] [stdout] 333 | / impl<Fut> Drop for Shared<Fut>
[INFO] [stdout] 334 | | where
[INFO] [stdout] 335 | |     Fut: Future,
[INFO] [stdout]     | |________________^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `waiter` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.19/src/future/future/shared.rs:333:1
[INFO] [stdout]     |
[INFO] [stdout] 333 | / impl<Fut> Drop for Shared<Fut>
[INFO] [stdout] 334 | | where
[INFO] [stdout] 335 | |     Fut: Future,
[INFO] [stdout]     | |________________^
[INFO] [stdout] note: `waiter` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `addr` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.19/src/future/future/shared.rs:333:1
[INFO] [stdout]     |
[INFO] [stdout] 333 | / impl<Fut> Drop for Shared<Fut>
[INFO] [stdout] 334 | | where
[INFO] [stdout] 335 | |     Fut: Future,
[INFO] [stdout]     | |________________^
[INFO] [stdout] note: `addr` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.19/src/mpsc/mod.rs:928:1
[INFO] [stdout]     |
[INFO] [stdout] 928 | impl<T> Drop for UnboundedSenderInner<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.51/src/error.rs:565:1
[INFO] [stdout]     |
[INFO] [stdout] 565 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> blkcaptwrk/src/xactorext.rs:181:43
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let log = self.log.new(o!("message" => snek_type_name::<M>()));
[INFO] [stdout]     |             ---
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `log` calls a custom destructor
[INFO] [stdout]     |             `log` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 181 |         halt_and_catch_fire_on_panic(fut).await.unwrap_or_else(|error| {
[INFO] [stdout]     |                                           ^^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 185 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `log` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating blkcaptwrk/src/main.rs from 2021 edition to 2024
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 17s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: buf_redux v0.8.4, multipart v0.18.0, nom v4.1.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3`
[INFO] [stderr] crater-edition-check: blkcaptctl v0.1.0 (/opt/rustwide/workdir/blkcaptctl) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: blkcaptapp v0.1.0 (/opt/rustwide/workdir/blkcaptapp) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: libblkcapt v0.1.0 (/opt/rustwide/workdir/libblkcapt) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: blkcaptwrk v0.1.0 (/opt/rustwide/workdir/blkcaptwrk) updating edition from 2021 to 2024
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2024 which implies `resolver = "3"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2024 resolver, specify `workspace.resolver = "3"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]     Checking libblkcapt v0.1.0 (/opt/rustwide/workdir/libblkcapt)
[INFO] [stdout] warning: field `parent` is never read
[INFO] [stdout]    --> libblkcapt/src/core/restic.rs:374:5
[INFO] [stdout]     |
[INFO] [stdout] 370 | struct SnapshotsOutputRecord {
[INFO] [stdout]     |        --------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 374 |     parent: Option<ResticId>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `into_drop_set` is never used
[INFO] [stdout]   --> libblkcapt/src/core/retention.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 68 | impl<'a, T: Snapshot> RetentionEvaluation<'a, T> {
[INFO] [stdout]    | ------------------------------------------------ method in this implementation
[INFO] [stdout] 69 |     fn into_drop_set(self) -> HashSet<DateTime<Utc>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> libblkcapt/src/model/mod.rs:119:21
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn datasets(&self) -> impl Iterator<Item = EntityPath2<BtrfsDatasetEntity, BtrfsPoolEntity>> {
[INFO] [stdout]     |                     ^^^^^                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn datasets(&self) -> impl Iterator<Item = EntityPath2<'_, BtrfsDatasetEntity, BtrfsPoolEntity>> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> libblkcapt/src/model/mod.rs:129:20
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn dataset(&self, id: EntityId) -> Option<EntityPath2<BtrfsDatasetEntity, BtrfsPoolEntity>> {
[INFO] [stdout]     |                    ^^^^^                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn dataset(&self, id: EntityId) -> Option<EntityPath2<'_, BtrfsDatasetEntity, BtrfsPoolEntity>> {
[INFO] [stdout]     |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> libblkcapt/src/model/mod.rs:133:23
[INFO] [stdout]     |
[INFO] [stdout] 133 |     pub fn containers(&self) -> impl Iterator<Item = EntityPath2<BtrfsContainerEntity, BtrfsPoolEntity>> {
[INFO] [stdout]     |                       ^^^^^                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 133 |     pub fn containers(&self) -> impl Iterator<Item = EntityPath2<'_, BtrfsContainerEntity, BtrfsPoolEntity>> {
[INFO] [stdout]     |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> libblkcapt/src/model/mod.rs:143:22
[INFO] [stdout]     |
[INFO] [stdout] 143 |     pub fn container(&self, id: EntityId) -> Option<EntityPath2<BtrfsContainerEntity, BtrfsPoolEntity>> {
[INFO] [stdout]     |                      ^^^^^                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 143 |     pub fn container(&self, id: EntityId) -> Option<EntityPath2<'_, BtrfsContainerEntity, BtrfsPoolEntity>> {
[INFO] [stdout]     |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> libblkcapt/src/model/mod.rs:147:26
[INFO] [stdout]     |
[INFO] [stdout] 147 |     pub fn any_container(&self, id: EntityId) -> Option<AnyContainer> {
[INFO] [stdout]     |                          ^^^^^                          ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 147 |     pub fn any_container(&self, id: EntityId) -> Option<AnyContainer<'_>> {
[INFO] [stdout]     |                                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking blkcaptapp v0.1.0 (/opt/rustwide/workdir/blkcaptapp)
[INFO] [stdout] warning: unexpected `cfg` condition name: `integer128`
[INFO] [stdout]    --> blkcaptapp/src/slogext.rs:193:15
[INFO] [stdout]     |
[INFO] [stdout] 193 |         #[cfg(integer128)]
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: expected names are: `docsrs`, `feature`, and `test` and 32 more
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(integer128)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(integer128)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `integer128`
[INFO] [stdout]    --> blkcaptapp/src/slogext.rs:197:15
[INFO] [stdout]     |
[INFO] [stdout] 197 |         #[cfg(integer128)]
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(integer128)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(integer128)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `integer128`
[INFO] [stdout]    --> blkcaptapp/src/slogext.rs:193:15
[INFO] [stdout]     |
[INFO] [stdout] 193 |         #[cfg(integer128)]
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: expected names are: `docsrs`, `feature`, and `test` and 32 more
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(integer128)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(integer128)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `integer128`
[INFO] [stdout]    --> blkcaptapp/src/slogext.rs:197:15
[INFO] [stdout]     |
[INFO] [stdout] 197 |         #[cfg(integer128)]
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(integer128)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(integer128)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking blkcaptwrk v0.1.0 (/opt/rustwide/workdir/blkcaptwrk)
[INFO] [stderr]     Checking blkcaptctl v0.1.0 (/opt/rustwide/workdir/blkcaptctl)
[INFO] [stdout] warning: field `parent` is never read
[INFO] [stdout]    --> libblkcapt/src/core/restic.rs:374:5
[INFO] [stdout]     |
[INFO] [stdout] 370 | struct SnapshotsOutputRecord {
[INFO] [stdout]     |        --------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 374 |     parent: Option<ResticId>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `into_drop_set` is never used
[INFO] [stdout]   --> libblkcapt/src/core/retention.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 68 | impl<'a, T: Snapshot> RetentionEvaluation<'a, T> {
[INFO] [stdout]    | ------------------------------------------------ method in this implementation
[INFO] [stdout] 69 |     fn into_drop_set(self) -> HashSet<DateTime<Utc>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> libblkcapt/src/model/mod.rs:119:21
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn datasets(&self) -> impl Iterator<Item = EntityPath2<BtrfsDatasetEntity, BtrfsPoolEntity>> {
[INFO] [stdout]     |                     ^^^^^                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn datasets(&self) -> impl Iterator<Item = EntityPath2<'_, BtrfsDatasetEntity, BtrfsPoolEntity>> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> libblkcapt/src/model/mod.rs:129:20
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn dataset(&self, id: EntityId) -> Option<EntityPath2<BtrfsDatasetEntity, BtrfsPoolEntity>> {
[INFO] [stdout]     |                    ^^^^^                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn dataset(&self, id: EntityId) -> Option<EntityPath2<'_, BtrfsDatasetEntity, BtrfsPoolEntity>> {
[INFO] [stdout]     |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> libblkcapt/src/model/mod.rs:133:23
[INFO] [stdout]     |
[INFO] [stdout] 133 |     pub fn containers(&self) -> impl Iterator<Item = EntityPath2<BtrfsContainerEntity, BtrfsPoolEntity>> {
[INFO] [stdout]     |                       ^^^^^                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 133 |     pub fn containers(&self) -> impl Iterator<Item = EntityPath2<'_, BtrfsContainerEntity, BtrfsPoolEntity>> {
[INFO] [stdout]     |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> libblkcapt/src/model/mod.rs:143:22
[INFO] [stdout]     |
[INFO] [stdout] 143 |     pub fn container(&self, id: EntityId) -> Option<EntityPath2<BtrfsContainerEntity, BtrfsPoolEntity>> {
[INFO] [stdout]     |                      ^^^^^                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 143 |     pub fn container(&self, id: EntityId) -> Option<EntityPath2<'_, BtrfsContainerEntity, BtrfsPoolEntity>> {
[INFO] [stdout]     |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> libblkcapt/src/model/mod.rs:147:26
[INFO] [stdout]     |
[INFO] [stdout] 147 |     pub fn any_container(&self, id: EntityId) -> Option<AnyContainer> {
[INFO] [stdout]     |                          ^^^^^                          ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 147 |     pub fn any_container(&self, id: EntityId) -> Option<AnyContainer<'_>> {
[INFO] [stdout]     |                                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sync`, `retention_update`, and `shared` are never read
[INFO] [stdout]   --> blkcaptctl/src/commands/restic.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub struct ResticUpdateOptions {
[INFO] [stdout]    |            ------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 77 |     sync: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     retention_update: RetentionUpdateOptions,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     shared: ResticCreateUpdateOptions,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ResticUpdateOptions` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sync` and `shared` are never read
[INFO] [stdout]   --> blkcaptctl/src/commands/sync.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub struct SyncUpdateOptions {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 92 |     sync: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 95 |     shared: SyncCreateUpdateOptions,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SyncUpdateOptions` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sync` is never read
[INFO] [stdout]    --> blkcaptctl/src/commands/sync.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub struct SyncShowOptions {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 119 |     sync: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SyncShowOptions` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sync` is never read
[INFO] [stdout]    --> blkcaptctl/src/commands/sync.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub struct SyncDeleteOptions {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 133 |     sync: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SyncDeleteOptions` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sync`, `retention_update`, and `shared` are never read
[INFO] [stdout]   --> blkcaptctl/src/commands/restic.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub struct ResticUpdateOptions {
[INFO] [stdout]    |            ------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 77 |     sync: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     retention_update: RetentionUpdateOptions,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     shared: ResticCreateUpdateOptions,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ResticUpdateOptions` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sync` and `shared` are never read
[INFO] [stdout]   --> blkcaptctl/src/commands/sync.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub struct SyncUpdateOptions {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 92 |     sync: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 95 |     shared: SyncCreateUpdateOptions,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SyncUpdateOptions` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sync` is never read
[INFO] [stdout]    --> blkcaptctl/src/commands/sync.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub struct SyncShowOptions {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 119 |     sync: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SyncShowOptions` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sync` is never read
[INFO] [stdout]    --> blkcaptctl/src/commands/sync.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub struct SyncDeleteOptions {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 133 |     sync: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SyncDeleteOptions` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0515]: cannot return value referencing local variable `receiver`
[INFO] [stdout]    --> blkcaptwrk/src/actors/localreceiver.rs:105:53
[INFO] [stdout]     |
[INFO] [stdout] 105 |       ) -> Result<Box<dyn AsyncWrite + Send + Unpin>> {
[INFO] [stdout]     |  _____________________________________________________^
[INFO] [stdout] 106 | |         match self.state.take() { State::Holding(receiver) => {
[INFO] [stdout] 107 | |             let receiver = receiver.start();
[INFO] [stdout] 108 | |             match receiver {
[INFO] [stdout] 109 | |                 Ok(mut receiver) => {
[INFO] [stdout] 110 | |                     let writer = receiver.writer();
[INFO] [stdout]     | |                                  -------- `receiver` is borrowed here
[INFO] [stdout] ...   |
[INFO] [stdout] 128 | |         }}
[INFO] [stdout] 129 | |     }
[INFO] [stdout]     | |_____^ returns a value referencing data owned by the current function
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> blkcaptwrk/src/actors/localreceiver.rs:110:34
[INFO] [stdout]     |
[INFO] [stdout] 110 |                     let writer = receiver.writer();
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: if you can modify this crate, add a precise capturing bound to avoid overcapturing: `+ use<>`
[INFO] [stdout]    --> libblkcapt/src/sys/btrfs.rs:482:37
[INFO] [stdout]     |
[INFO] [stdout] 482 |         pub fn writer(&mut self) -> impl AsyncWrite {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0505]: cannot move out of `receiver` because it is borrowed
[INFO] [stdout]    --> blkcaptwrk/src/actors/localreceiver.rs:114:25
[INFO] [stdout]     |
[INFO] [stdout] 105 |       ) -> Result<Box<dyn AsyncWrite + Send + Unpin>> {
[INFO] [stdout]     |  _____________________________________________________-
[INFO] [stdout] 106 | |         match self.state.take() { State::Holding(receiver) => {
[INFO] [stdout] 107 | |             let receiver = receiver.start();
[INFO] [stdout] 108 | |             match receiver {
[INFO] [stdout] 109 | |                 Ok(mut receiver) => {
[INFO] [stdout]     | |                    ------------ binding `receiver` declared here
[INFO] [stdout] 110 | |                     let writer = receiver.writer();
[INFO] [stdout]     | |                                  -------- borrow of `receiver` occurs here
[INFO] [stdout] ...   |
[INFO] [stdout] 114 | |                         |_| async move { receiver.wait().await.into() },
[INFO] [stdout]     | |                         ^^^              -------- move occurs due to use in closure
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |                         move out of `receiver` occurs here
[INFO] [stdout] ...   |
[INFO] [stdout] 128 | |         }}
[INFO] [stdout] 129 | |     }
[INFO] [stdout]     | |     -
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |_____return type of async block is std::result::Result<Box<(dyn tokio::io::AsyncWrite + std::marker::Send + Unpin + '1)>, anyhow::Error>
[INFO] [stdout]     |       returning this value requires that `receiver` is borrowed for `'1`
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> blkcaptwrk/src/actors/localreceiver.rs:110:34
[INFO] [stdout]     |
[INFO] [stdout] 110 |                     let writer = receiver.writer();
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: if you can modify this crate, add a precise capturing bound to avoid overcapturing: `+ use<>`
[INFO] [stdout]    --> libblkcapt/src/sys/btrfs.rs:482:37
[INFO] [stdout]     |
[INFO] [stdout] 482 |         pub fn writer(&mut self) -> impl AsyncWrite {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0515]: cannot return value referencing local variable `sender`
[INFO] [stdout]    --> blkcaptwrk/src/actors/localsender.rs:104:52
[INFO] [stdout]     |
[INFO] [stdout] 104 |       ) -> Result<Box<dyn AsyncRead + Send + Unpin>> {
[INFO] [stdout]     |  ____________________________________________________^
[INFO] [stdout] 105 | |         match self.state.take() { State::Holding(sender) => {
[INFO] [stdout] 106 | |             let sender = sender.start();
[INFO] [stdout] 107 | |             match sender {
[INFO] [stdout] 108 | |                 Ok(mut sender) => {
[INFO] [stdout] 109 | |                     let reader = sender.reader();
[INFO] [stdout]     | |                                  ------ `sender` is borrowed here
[INFO] [stdout] ...   |
[INFO] [stdout] 123 | |         }}
[INFO] [stdout] 124 | |     }
[INFO] [stdout]     | |_____^ returns a value referencing data owned by the current function
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> blkcaptwrk/src/actors/localsender.rs:109:34
[INFO] [stdout]     |
[INFO] [stdout] 109 |                     let reader = sender.reader();
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^
[INFO] [stdout] help: if you can modify this crate, add a precise capturing bound to avoid overcapturing: `+ use<>`
[INFO] [stdout]    --> libblkcapt/src/sys/btrfs.rs:408:37
[INFO] [stdout]     |
[INFO] [stdout] 408 |         pub fn reader(&mut self) -> impl AsyncRead {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0505]: cannot move out of `sender` because it is borrowed
[INFO] [stdout]    --> blkcaptwrk/src/actors/localsender.rs:110:74
[INFO] [stdout]     |
[INFO] [stdout] 104 |       ) -> Result<Box<dyn AsyncRead + Send + Unpin>> {
[INFO] [stdout]     |  ____________________________________________________-
[INFO] [stdout] 105 | |         match self.state.take() { State::Holding(sender) => {
[INFO] [stdout] 106 | |             let sender = sender.start();
[INFO] [stdout] 107 | |             match sender {
[INFO] [stdout] 108 | |                 Ok(mut sender) => {
[INFO] [stdout]     | |                    ---------- binding `sender` declared here
[INFO] [stdout] 109 | |                     let reader = sender.reader();
[INFO] [stdout]     | |                                  ------ borrow of `sender` occurs here
[INFO] [stdout] 110 | |                     let task = WorkerTask::run(ctx.address(), ctx.log(), |_| async move { sender.wait().await.into() });
[INFO] [stdout]     | |                                                                          ^^^              ------ move occurs due to use in closure
[INFO] [stdout]     | |                                                                          |
[INFO] [stdout]     | |                                                                          move out of `sender` occurs here
[INFO] [stdout] ...   |
[INFO] [stdout] 123 | |         }}
[INFO] [stdout] 124 | |     }
[INFO] [stdout]     | |     -
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |_____return type of async block is std::result::Result<Box<(dyn tokio::io::AsyncRead + std::marker::Send + Unpin + '1)>, anyhow::Error>
[INFO] [stdout]     |       returning this value requires that `sender` is borrowed for `'1`
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> blkcaptwrk/src/actors/localsender.rs:109:34
[INFO] [stdout]     |
[INFO] [stdout] 109 |                     let reader = sender.reader();
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^
[INFO] [stdout] help: if you can modify this crate, add a precise capturing bound to avoid overcapturing: `+ use<>`
[INFO] [stdout]    --> libblkcapt/src/sys/btrfs.rs:408:37
[INFO] [stdout]     |
[INFO] [stdout] 408 |         pub fn reader(&mut self) -> impl AsyncRead {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0515]: cannot return value referencing local variable `receiver`
[INFO] [stdout]    --> blkcaptwrk/src/actors/localreceiver.rs:105:53
[INFO] [stdout]     |
[INFO] [stdout] 105 |       ) -> Result<Box<dyn AsyncWrite + Send + Unpin>> {
[INFO] [stdout]     |  _____________________________________________________^
[INFO] [stdout] 106 | |         match self.state.take() { State::Holding(receiver) => {
[INFO] [stdout] 107 | |             let receiver = receiver.start();
[INFO] [stdout] 108 | |             match receiver {
[INFO] [stdout] 109 | |                 Ok(mut receiver) => {
[INFO] [stdout] 110 | |                     let writer = receiver.writer();
[INFO] [stdout]     | |                                  -------- `receiver` is borrowed here
[INFO] [stdout] ...   |
[INFO] [stdout] 128 | |         }}
[INFO] [stdout] 129 | |     }
[INFO] [stdout]     | |_____^ returns a value referencing data owned by the current function
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> blkcaptwrk/src/actors/localreceiver.rs:110:34
[INFO] [stdout]     |
[INFO] [stdout] 110 |                     let writer = receiver.writer();
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: if you can modify this crate, add a precise capturing bound to avoid overcapturing: `+ use<>`
[INFO] [stdout]    --> libblkcapt/src/sys/btrfs.rs:482:37
[INFO] [stdout]     |
[INFO] [stdout] 482 |         pub fn writer(&mut self) -> impl AsyncWrite {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0505]: cannot move out of `receiver` because it is borrowed
[INFO] [stdout]    --> blkcaptwrk/src/actors/localreceiver.rs:114:25
[INFO] [stdout]     |
[INFO] [stdout] 105 |       ) -> Result<Box<dyn AsyncWrite + Send + Unpin>> {
[INFO] [stdout]     |  _____________________________________________________-
[INFO] [stdout] 106 | |         match self.state.take() { State::Holding(receiver) => {
[INFO] [stdout] 107 | |             let receiver = receiver.start();
[INFO] [stdout] 108 | |             match receiver {
[INFO] [stdout] 109 | |                 Ok(mut receiver) => {
[INFO] [stdout]     | |                    ------------ binding `receiver` declared here
[INFO] [stdout] 110 | |                     let writer = receiver.writer();
[INFO] [stdout]     | |                                  -------- borrow of `receiver` occurs here
[INFO] [stdout] ...   |
[INFO] [stdout] 114 | |                         |_| async move { receiver.wait().await.into() },
[INFO] [stdout]     | |                         ^^^              -------- move occurs due to use in closure
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |                         move out of `receiver` occurs here
[INFO] [stdout] ...   |
[INFO] [stdout] 128 | |         }}
[INFO] [stdout] 129 | |     }
[INFO] [stdout]     | |     -
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |_____return type of async block is std::result::Result<Box<(dyn tokio::io::AsyncWrite + std::marker::Send + Unpin + '1)>, anyhow::Error>
[INFO] [stdout]     |       returning this value requires that `receiver` is borrowed for `'1`
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> blkcaptwrk/src/actors/localreceiver.rs:110:34
[INFO] [stdout]     |
[INFO] [stdout] 110 |                     let writer = receiver.writer();
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: if you can modify this crate, add a precise capturing bound to avoid overcapturing: `+ use<>`
[INFO] [stdout]    --> libblkcapt/src/sys/btrfs.rs:482:37
[INFO] [stdout]     |
[INFO] [stdout] 482 |         pub fn writer(&mut self) -> impl AsyncWrite {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0505, E0515.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0505`.
[INFO] [stdout] 
[INFO] [stdout] error[E0515]: cannot return value referencing local variable `sender`
[INFO] [stdout]    --> blkcaptwrk/src/actors/localsender.rs:104:52
[INFO] [stdout]     |
[INFO] [stdout] 104 |       ) -> Result<Box<dyn AsyncRead + Send + Unpin>> {
[INFO] [stdout]     |  ____________________________________________________^
[INFO] [stdout] 105 | |         match self.state.take() { State::Holding(sender) => {
[INFO] [stdout] 106 | |             let sender = sender.start();
[INFO] [stdout] 107 | |             match sender {
[INFO] [stdout] 108 | |                 Ok(mut sender) => {
[INFO] [stdout] 109 | |                     let reader = sender.reader();
[INFO] [stdout]     | |                                  ------ `sender` is borrowed here
[INFO] [stdout] ...   |
[INFO] [stdout] 123 | |         }}
[INFO] [stdout] 124 | |     }
[INFO] [stdout]     | |_____^ returns a value referencing data owned by the current function
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> blkcaptwrk/src/actors/localsender.rs:109:34
[INFO] [stdout]     |
[INFO] [stdout] 109 |                     let reader = sender.reader();
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^
[INFO] [stdout] help: if you can modify this crate, add a precise capturing bound to avoid overcapturing: `+ use<>`
[INFO] [stdout]    --> libblkcapt/src/sys/btrfs.rs:408:37
[INFO] [stdout]     |
[INFO] [stdout] 408 |         pub fn reader(&mut self) -> impl AsyncRead {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0505]: cannot move out of `sender` because it is borrowed
[INFO] [stdout]    --> blkcaptwrk/src/actors/localsender.rs:110:74
[INFO] [stdout]     |
[INFO] [stdout] 104 |       ) -> Result<Box<dyn AsyncRead + Send + Unpin>> {
[INFO] [stdout]     |  ____________________________________________________-
[INFO] [stdout] 105 | |         match self.state.take() { State::Holding(sender) => {
[INFO] [stdout] 106 | |             let sender = sender.start();
[INFO] [stdout] 107 | |             match sender {
[INFO] [stdout] 108 | |                 Ok(mut sender) => {
[INFO] [stdout]     | |                    ---------- binding `sender` declared here
[INFO] [stdout] 109 | |                     let reader = sender.reader();
[INFO] [stdout]     | |                                  ------ borrow of `sender` occurs here
[INFO] [stdout] 110 | |                     let task = WorkerTask::run(ctx.address(), ctx.log(), |_| async move { sender.wait().await.into() });
[INFO] [stdout]     | |                                                                          ^^^              ------ move occurs due to use in closure
[INFO] [stdout]     | |                                                                          |
[INFO] [stdout]     | |                                                                          move out of `sender` occurs here
[INFO] [stdout] ...   |
[INFO] [stdout] 123 | |         }}
[INFO] [stdout] 124 | |     }
[INFO] [stdout]     | |     -
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |_____return type of async block is std::result::Result<Box<(dyn tokio::io::AsyncRead + std::marker::Send + Unpin + '1)>, anyhow::Error>
[INFO] [stdout]     |       returning this value requires that `sender` is borrowed for `'1`
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> blkcaptwrk/src/actors/localsender.rs:109:34
[INFO] [stdout]     |
[INFO] [stdout] 109 |                     let reader = sender.reader();
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^
[INFO] [stdout] help: if you can modify this crate, add a precise capturing bound to avoid overcapturing: `+ use<>`
[INFO] [stdout]    --> libblkcapt/src/sys/btrfs.rs:408:37
[INFO] [stdout]     |
[INFO] [stdout] 408 |         pub fn reader(&mut self) -> impl AsyncRead {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `blkcaptwrk` (lib test) due to 4 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] Some errors have detailed explanations: E0505, E0515.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0505`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `blkcaptwrk` (lib) due to 4 previous errors
[INFO] running `Command { std: "docker" "inspect" "3ad3e282482e02c0583c6acb0c0ffe1006f51dbb5df645fe99f236e8a2345a14", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3ad3e282482e02c0583c6acb0c0ffe1006f51dbb5df645fe99f236e8a2345a14", kill_on_drop: false }`
[INFO] [stdout] 3ad3e282482e02c0583c6acb0c0ffe1006f51dbb5df645fe99f236e8a2345a14
